Full Virtualization for GPUs Reconsidered
نویسندگان
چکیده
Graphics Processing Units (GPUs) have become the tool choice in computationally demanding fields such as scientific computing and machine learning. However, supporting GPUs in virtualized settings like the cloud remains a challenge due to limited hardware support for virtualization. In practice, cloud providers elide GPU support entirely or resort to compromise techniques such as PCI pass through. GPU virtualization remains an active research area, fostering proposals for improvements at all layers of the technology stack, as well as software solutions based on API remoting, mediated pass-through, paraand fullvirtualization, among others. The wealth of research leaves practitioners with much to think about but precious little in terms of usable techniques and actionable ideas. This paper revisits GPUvm [59], a Xen-hypervisor-based full virtualization design for supporting VM access to discrete NVIDIA GPUs. Based on core primitives such as virtual memory-mapped I/O (MMIO), resource shadowing for GPU channels and page tables, GPUvm is arguably a high-water mark for transparency and feature completeness in GPGPU virtualization. We describe our experience setting up the most recent open source version, adapting new benchmarks, and re-creating experiments described in the original paper. While we are able to reproduce some reported results, we also reach a number of contrary findings. We observe that core functionalities such as para-virtual optimizations and the FIFO scheduler do not work and that optimizations such as BAR remapping are mostly ineffective. Full virtualization introduces catastrophic overhead in initialization and GPUvm’s optimizations, which primarily target those overheads do so with limited success. The BAND scheduler algorithm purported to improve fairness over Xen’s default CREDIT algorithm actually increases maximum unfairness by up to 6%, doing so at the cost of decreasing aggregate throughput by as much as 8%.
منابع مشابه
GPUvm: Why Not Virtualizing GPUs at the Hypervisor?
Graphics processing units (GPUs) provide orders-ofmagnitude speedup for compute-intensive data-parallel applications. However, enterprise and cloud computing domains, where resource isolation of multiple clients is required, have poor access to GPU technology. This is due to lack of operating system (OS) support for virtualizing GPUs in a reliable manner. To make GPUs more mature system citizen...
متن کاملEfficient Resource Sharing Through GPU Virtualization on Accelerated High Performance Computing Systems
The High Performance Computing (HPC) field is witnessing a widespread adoption of Graphics Processing Units (GPUs) as co-processors for conventional homogeneous clusters. The adoption of prevalent SingleProgram Multiple-Data (SPMD) programming paradigm for GPU-based parallel processing brings in the challenge of resource underutilization, with the asymmetrical processor/co-processor distributio...
متن کاملSupporting Dynamic GPU Computing Result Reuse in the Cloud
Graphics processing units (GPUs) have been adopted by major cloud vendors, as GPUs provide ordersof-magnitude speedup for computation-intensive dataparallel applications. In the cloud, efficiently sharing GPU resources among multiple virtual machines (VMs) is not so straightforward. Recent research has been conducted to develop GPU virtualization technologies, making it feasible for VMs to shar...
متن کاملG-NET: Effective GPU Sharing in NFV Systems
Network Function Virtualization (NFV) virtualizes software network functions to offer flexibility in their design, management and deployment. Although GPUs have demonstrated their power in significantly accelerating network functions, they have not been effectively integrated into NFV systems for the following reasons. First, GPUs are severely underutilized in NFV systems with existing GPU virt...
متن کاملEnabling High Performance Computing in Cloud Infrastructure using Virtualized GPUs
With the advent of virtualization and Infrastructure-as-a-Service (IaaS), the broader scientific computing community is considering the use of clouds for their technical computing needs. This is due to the relative scalability, ease of use, advanced user environment customization abilities clouds provide, as well as many novel computing paradigms available for data-intensive applications. Howev...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017